package com.arpa.ntocc.common.domain.dto;

import com.arpa.ntocc.common.domain.entity.BasicEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.time.LocalDateTime;

/**
 * <p>
 * 发票信息（抬头）维护DTO
 * </p>
 *
 * @author LEO
 * @since 2019-12-23
 */
@Data
@ApiModel(value="InvoiceMessageDTO对象", description="发票信息（抬头）维护")
public class InvoiceMessageDTO extends BasicEntity {


    @ApiModelProperty(value = "UUID")
    private String code;

    @ApiModelProperty(value = "用户编码")
    private String userCode;

    @ApiModelProperty(value = "机构编码")
    private String branchCode;

    @ApiModelProperty(value = "发票抬头")
    private String invoiceTitle;

    @ApiModelProperty(value = "收件人")
    private String receiver;

    @ApiModelProperty(value = "收取地址")
    private String receiverAddress;

    @ApiModelProperty(value = "邮编")
    private String receiverPostcode;

    @ApiModelProperty(value = "收件人联系电话")
    private String receiverPhone;

    @ApiModelProperty(value = "开具类型，0个人/1企业")
    private Integer issueType;

    @ApiModelProperty(value = "税务登记证号")
    private String taxRegistrationNumber;

    @ApiModelProperty(value = "基本开户银行")
    private String bank;

    @ApiModelProperty(value = "基本开户账号")
    private String accountNumber;

    @ApiModelProperty(value = "注册场所地址")
    private String registeredAddress;

    @ApiModelProperty(value = "注册固定电话")
    private String registeredFixedPhone;

    @ApiModelProperty(value = "是否是开票信息：0-不是，1-是")
    private Integer isInvoiceDefault;

    @ApiModelProperty(value = "开票方式：0-现付开票，1-到付开票，2-代付开票")
    private String type;

    @ApiModelProperty(value = "实际收票人编码")
    private String receiverUserCode;

    @ApiModelProperty(value = "实际收票人姓名")
    private String receiverUserName;

    @ApiModelProperty(value = "创建时间开始")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime gmtCreatedStart;

    @ApiModelProperty(value = "创建时间结束")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private LocalDateTime gmtCreatedEnd;

    @ApiModelProperty(value = "第几页")
    private Integer pageNum=1;

    @ApiModelProperty(value = "每页条数")
    private Integer pageSize=10;

    @ApiModelProperty(value = "排序字段")
    private String sortField;

    @ApiModelProperty(value = "排序方式")
    private String sortType;
}
